# Build arguments go here. Examples:
#   is_component_build = true
#   is_debug = false
# See "gn args <out_dir> --list" for available build arguments.

# this file was generated by 
# using gn gen with an empty args.gn (by empty I mean the above, generated by gn args outdir)
# then redirecting output of
# gn args /tmp/out/Default --list
# to this file and using vim to replace stuff and make it look like it does.
# %s/^    /#    /g
# %s/ Default = \(.*$\)/\1 #Default = \1/g

#XXX no effect
#aec_debug_dump = false #Default = false
#    //third_party/webrtc/modules/audio_processing/BUILD.gn:15
#    Outputs some low-level debug files.

aec_untrusted_delay_for_testing = false #Default = false
#    //third_party/webrtc/modules/audio_processing/BUILD.gn:20
#    Disables the usual mode where we trust the reported system delay
#    values the AEC receives. The corresponding define is set appropriately
#    in the code, but it can be force-enabled here for testing.

#XXX: -flto !
#XXX when true, fails with:
#[7/19138] ../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/third_party/llvm-build/Release+Asserts/bin/clang++ -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -flto -Wl,-plugin-opt,O1 -Wl,-plugin-opt,-function-sections -fwhole-program-vtables -pthread -m64 -Wl,-O1 -Wl,--gc-sections -Wl,--no-as-needed -lpthread -Wl,--as-needed -Wl,-rpath-link=. -Wl,--disable-new-dtags -o "./chrome_sandbox" -Wl,--start-group @"./chrome_sandbox.rsp"  -Wl,--end-group  -ldl -lrt 
#FAILED: chrome_sandbox 
#../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/third_party/llvm-build/Release+Asserts/bin/clang++ -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -flto -Wl,-plugin-opt,O1 -Wl,-plugin-opt,-function-sections -fwhole-program-vtables -pthread -m64 -Wl,-O1 -Wl,--gc-sections -Wl,--no-as-needed -lpthread -Wl,--as-needed -Wl,-rpath-link=. -Wl,--disable-new-dtags -o "./chrome_sandbox" -Wl,--start-group @"./chrome_sandbox.rsp"  -Wl,--end-group  -ldl -lrt 
#/usr/bin/ld: /home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/third_party/llvm-build/Release+Asserts/bin/../lib/LLVMgold.so: error loading plugin: /home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/third_party/llvm-build/Release+Asserts/bin/../lib/LLVMgold.so: cannot open shared object file: No such file or directory
#
#allow_posix_link_time_opt = true #Default = false
allow_posix_link_time_opt = false #Default = false
#    //build/toolchain/toolchain.gni:16
use_thin_lto = true

android_full_debug = false #Default = false
#    //build/config/compiler/BUILD.gn:34
#    Normally, Android builds are lightly optimized, even for debug builds, to
#    keep binary size down. Setting this flag to true disables such optimization

android_java_ui = false #Default = false
#    //chrome/common/features.gni:17
#    Whether the Java UI is being used (Java infobars and popups, Java native
#    settings and first run experience, sign-in etc.).
#    Default to true if compiling for android, but allow this being overriden
#    through the environment.

asan_globals = true #Default = true
#    //build/config/sanitizers/sanitizers.gni:112
#    Detect overflow/underflow for global objects.
   
#    Android build relies on -Wl,--gc-sections removing unreachable code.
#    ASan instrumentation for globals inhibits this and results in a
#    library with unresolvable relocations.
#    TODO(eugenis): find a way to reenable this.
   
#    Mac: http://crbug.com/352073

#XXX purposefully not set!
#binutils_path = "../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/third_party/binutils/Linux_x64/Release/bin" #Default = "../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/third_party/binutils/Linux_x64/Release/bin"
#    //build/config/compiler/BUILD.gn:42

blink_gc_plugin = true #Default = true
#    //third_party/WebKit/Source/BUILD.gn:17
#    Set to true to enable the clang plugin that checks the usage of the Blink
#    garbage-collection infrastructure during compilation.

blink_gc_plugin_option_do_dump_graph = false #Default = false
#    //third_party/WebKit/Source/BUILD.gn:21
#    Set to true to have the clang Blink GC plugin emit class graph (in JSON)
#    with typed pointer edges; for debugging or other (internal) uses.

blink_gc_plugin_option_warn_unneeded_finalizer = false #Default = false
#    //third_party/WebKit/Source/BUILD.gn:26
#    Set to true to have the clang Blink GC plugin additionally check if
#    a class has an empty destructor which would be unnecessarily invoked
#    when finalized.

blink_logging_always_on = false #Default = false
#    //third_party/WebKit/Source/config.gni:22
#    If true, enables blink logging macros (WTF_LOG and friends) unconditionally.
#    When false, blink logging macros are enabled only if assertions are enabled.

build_angle_deqp_tests = false #Default = false
#    //third_party/angle/src/tests/BUILD.gn:152
#    Don't build dEQP by default.

#TODO: what?
build_with_mozilla = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:56
#    Enable to use the Mozilla internal settings.

cc_wrapper = "ccache" #Default = ""
#    //build/toolchain/cc_wrapper.gni:34
#    Set to "ccache", "icecc" or "distcc".  Probably doesn't work on windows.

chrome_pgo_phase = 0 #Default = 0
#    //build/config/compiler/compiler.gni:48
#    Specify the current PGO phase, only used for the Windows MSVS build. Here's
#    the different values that can be used:
#        0 : Means that PGO is turned off.
#        1 : Used during the PGI (instrumentation) phase.
#        2 : Used during the PGO (optimization) phase.
   
#    TODO(sebmarchand): Add support for the PGU (update) phase.

#clang_base_path = "/usr/bin" #Default = "//third_party/llvm-build/Release+Asserts"
clang_base_path = "//third_party/llvm-build/Release+Asserts" #Default = "//third_party/llvm-build/Release+Asserts"
#    //build/config/clang/clang.gni:12

clang_use_chrome_plugins = false #Default = false
#    //build/config/clang/clang.gni:10
#    Indicates if the build should use the Chrome-specific plugins for enforcing
#    coding guidelines, etc. Only used when compiling with Clang.

#XXX: has no effect
#clang_version = "3.9.0" #Default = "3.9.0"
#    //build/toolchain/toolchain.gni:27
#    Clang compiler version. Clang files are placed at version-dependent paths.

#XXX: has no effect
#cld2_table_size = 2 #Default = 2
#    //third_party/cld_2/BUILD.gn:11

#TODO: false ?
compile_credentials = true #Default = true
#    //sandbox/linux/BUILD.gn:16

compile_suid_client = true #Default = true
#    //sandbox/linux/BUILD.gn:14

concurrent_links = -1 #Default = -1
#    //build/toolchain/concurrent_links.gni:18
#    Limit the number of concurrent links; we often want to run fewer
#    links at once than we do compiles, because linking is memory-intensive.
#    The default to use varies by platform and by the amount of memory
#    available, so we call out to a script to get the right value.

content_shell_product_name = "Content Shell" #Default = "Content Shell"
#    //content/shell/BUILD.gn:25

content_shell_version = "99.77.34.5" #Default = "99.77.34.5"
#    //content/shell/BUILD.gn:26

#current_cpu = "" #Default = ""
#    (Internally set; try `gn help current_cpu`.)

#current_os = "" #Default = ""
#    (Internally set; try `gn help current_os`.)

custom_toolchain = "" #Default = ""
#    //build/config/BUILDCONFIG.gn:139
#    Allows the path to a custom target toolchain to be injected as a single
#    argument, and set as the default toolchain.

#TODO: true  (when debug)
dcheck_always_on = false #Default = false
#    //build/config/dcheck_always_on.gni:7
#    Set to true to enable dcheck in Release builds.

debug_devtools = false #Default = false
#    //build/config/features.gni:41
#    If debug_devtools is set to true, JavaScript files for DevTools are stored
#    as is and loaded from disk. Otherwise, a concatenated file is stored in
#    resources.pak. It is still possible to load JS files from disk by passing
#    --debug-devtools cmdline switch.

disable_brotli_filter = false #Default = false
#    //net/BUILD.gn:57
#    Do not disable brotli filter by default.

#XXX disable_display Build argument has no effect.
#disable_display = false #Default = false
#    //build/config/chromecast_build.gni:14
#    Set this true for an audio-only Chromecast build.

disable_file_support = false #Default = false
#    //net/BUILD.gn:44
#    Disables support for file URLs.  File URL support requires use of icu.

disable_ftp_support = false #Default = false
#    //net/BUILD.gn:49

disable_libfuzzer = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:78
#    Helper variable for testing builds with disabled libfuzzer.
#    Not for client use.

disable_precompiled_headers = false #Default = false
#    //build/config/BUILD.gn:38
#    Normally we try to decide whether to use precompiled headers or
#    not based on the other build arguments, but in some cases it is
#    easiest to force them off explicitly.

enable_ac3_eac3_audio_demuxing = false #Default = false
#    //media/media_options.gni:39
#    Enables AC3/EAC3 audio demuxing. This is enabled only on Chromecast, since
#    it only provides demuxing, and is only useful for AC3/EAC3 audio
#    pass-through to HDMI sink on Chromecast.

enable_app_list = false #Default = false
#    //build/config/features.gni:61

#TODO: false
enable_background = true #Default = true
#    //chrome/common/features.gni:24
#    Enables support for background apps.

#XXX: false because it uses pdf plugin and fails to link due to not handling the case when plugins are disabled
enable_basic_printing = false #Default = true
#    //build/config/features.gni:113
#    Enable basic printing support and UI.

#XXX: build arg has no effect
#enable_blimp = false #Default = false
#    //blimp/client/core/BUILD.gn:13
#    Enables blimp. This is required to get the real implementation of blimp.
#    By default, only a dummy-implementation is provided.

enable_browser_cdms = false #Default = false
#    //build/config/features.gni:72
#    Enables browser side Content Decryption Modules. Required for embedders
#    (e.g. Android and ChromeCast) that use a browser side CDM.

#TODO: false
enable_captive_portal_detection = true #Default = true
#    //build/config/features.gni:53

enable_clipboard_aurax11 = false #Default = false
#    //build/config/ui.gni:56
#    Allow aura to access x11 clipboard.

#XXX: no effect?
#ERROR at build arg file (use "gn args <out_dir>" to edit):218:24: Build argument has no effect.
#enable_cross_trusted = true #Default = true
#                       ^---
#The variable "enable_cross_trusted" was set as a build argument
#but never appeared in a declare_args() block in any buildfile.
#enable_cross_trusted = true #Default = true
#    //native_client_sdk/src/BUILD.gn:10
#    Set to true if cross compiling trusted (e.g. building sel_ldr_arm on x86)
#    binaries is supported.

enable_debugallocation = true #Default = true
#    //base/allocator/BUILD.gn:13
#    Provide a way to force disable debugallocation in Debug builds,
#    e.g. for profiling (it's more rare to profile Debug builds,
#    but people sometimes need to do that).

enable_extensions = true #Default = true
#    //build/config/features.gni:27

enable_full_stack_frames_for_profiling = false #Default = false
#    //build/config/compiler/BUILD.gn:50
#    Compile in such a way as to make it possible for the profiler to unwind full
#    stack frames. Setting this flag has a large effect on the performance of the
#    generated code than just setting profiling, but gives the profiler more
#    information to analyze.
#    Requires profiling to be set to true.

#TODO: false
enable_google_now = false #Default = true
#    //chrome/common/features.gni:11

enable_hangout_services_extension = false #Default = false
#    //build/config/features.gni:76
#    Hangout services is an extension that adds extra features to Hangouts.
#    For official GYP builds, this flag is set.

enable_hevc_demuxing = false #Default = false
#    //media/media_options.gni:46
#    Enable HEVC/H265 demuxing. Actual decoding must be provided by the
#    platform. Enable by default for Chromecast.

enable_hotwording = false #Default = false
#    //chrome/browser/BUILD.gn:29
#    'Ok Google' hotwording is disabled by default. Set to true to enable. (This
#    will download a closed-source NaCl module at startup.) Chrome-branded
#    ChromeOS builds have this enabled by default.

enable_internal_app_remoting_targets = false #Default = false
#    //remoting/remoting_options.gni:13
#    Set this to enable building internal AppRemoting apps.

#TODO: set to true again if is_component_build is false!
enable_ipc_fuzzer = true #Default = true
#    //tools/ipc_fuzzer/ipc_fuzzer.gni:14

enable_iterator_debugging = true #Default = true
#    //build/config/BUILD.gn:33
#    When set (the default) enables C++ iterator debugging in debug builds.
#    Iterator debugging is always off in release builds (technically, this flag
#    affects the "debug" config, which is always available but applied by
#    default only in debug builds).
   
#    Iterator debugging is generally useful for catching bugs. But it can
#    introduce extra locking to check the state of an iterator against the state
#    of the current object. For iterator- and thread-heavy code, this can
#    significantly slow execution.

#TODO: false; want false here because otherwise: avahi-daemon gets started on my linux manjaro system (seen in dmesg also)
#FIXME: a patch comments out an include line in here: chrome/browser/extensions/browser_context_keyed_service_factories.cc  so if you ever set enable_mdns=true you need to fix that! alternatively the patch should #if defined(enable_mdns) if that's how it works!
enable_mdns = false #Default = false
#    //build/config/features.gni:25
#    Multicast DNS.

enable_media_router = true #Default = true
#    //build/config/features.gni:47
#    Enables the Media Router.

enable_mojo_media = false #Default = false
#    //media/media_options.gni:75
#    Experiment to enable mojo media services (e.g. "renderer", "cdm", see
#    |mojo_media_services|). When enabled, selected mojo paths will be enabled in
#    the media pipeline and corresponding services will hosted in the selected
#    remote process (e.g. "utility" process, see |mojo_media_host|).

enable_mse_mpeg2ts_stream_parser = false #Default = false
#    //media/media_options.gni:42

enable_nacl = false #Default = true
#    //build/config/features.gni:34
#    Enables Native Client support.
#    Temporarily disable nacl on arm64 linux to get rid of compilation errors.
#    TODO(mcgrathr): When mipsel-nacl-clang is available, drop the exclusion.

enable_nocompile_tests = false #Default = false
#    //build/nocompile.gni:62
#    TODO(crbug.com/105388): Disabled until http://crbug.com/105388 is resolved.

#XXX no effect anymore
#enable_oilpan = true #Default = true
#    //third_party/WebKit/public/features.gni:7
#    Enables the Oilpan garbage-collection infrastructure.

#TODO: false
enable_one_click_signin = true #Default = true
#    //chrome/common/features.gni:27

enable_package_mash_services = false #Default = false
#    //chrome/common/features.gni:31
#    Set to true to bundle all the mash related mojo services into chrome.
#    Specify --mash to chrome to have chrome start the mash environment.

#XXX; set to false because it doesn't work anyway - with my other current settings such as enable_plugins = false
enable_pdf = false #Default = true
#    //build/config/features.gni:29

enable_plugin_installation = false #Default = false
#    //build/config/features.gni:59

#TODO: false
enable_plugins = false #Default = true
#    //build/config/features.gni:28

#TODO: false
enable_print_preview = false #Default = true
#    //build/config/features.gni:117
#    Enable printing with print preview. It does not imply
#    enable_basic_printing. It's possible to build Chrome with preview only.

enable_profiling = false #Default = false
#    //build/config/compiler/compiler.gni:22
#    Compile in such a way as to enable profiling of the generated code. For
#    example, don't omit the frame pointer and leave in symbols.

enable_remoting = false #Default = true
#    //build/config/features.gni:65

enable_remoting_jscompile = false #Default = false
#    //remoting/remoting_options.gni:10
#    Set this to run the jscompile checks after building the webapp.

enable_resource_whitelist_generation = false #Default = false
#    //tools/grit/grit_rule.gni:88
#    Enables used resource whitelist generation.

#TODO: false (see what this is first!)
enable_session_service = true #Default = true
#    //build/config/features.gni:57
#    Enables use of the session service, which is enabled by default.
#    Android stores them separately on the Java side.

#TODO: false  (what is this exactly?)
enable_supervised_users = true #Default = true
#    //build/config/features.gni:63

#XXX arg has no effect anymore
#enable_test_mojo_media_client = false #Default = false
#    //media/media_options.gni:79
#    Enable the TestMojoMediaClient to be used in MojoMediaApplication. This is
#    for testing only and will override the default platform MojoMediaClient.

#XXX Build argument has no effect.
#enable_video_hole = false #Default = false
#    //build/config/features.gni:68
#    Enable hole punching for the protected video.

enable_vulkan = false #Default = false
#    //build/config/ui.gni:53
#    Enable experimental vulkan backend.

enable_wayland_server = false #Default = false
#    //build/config/ui.gni:50
#    Indicates if Wayland display server support is enabled.

enable_webrtc = false #Default = true
#    //build/config/features.gni:44
#    Enables WebRTC.

enable_websockets = true #Default = true
#    //net/BUILD.gn:48
#    WebSockets and socket stream code are not used on iOS and are optional in
#    cronet.

#XXX: it's gone now, my patches!
#enable_widevine = false #Default = false
#    //third_party/widevine/cdm/widevine.gni:7
#    Allow widevinecdmadapter to be built in Chromium.

enable_wifi_display = false #Default = false
#    //build/config/features.gni:99
#    Enables Wi-Fi Display functionality
#    WARNING: This enables MPEG Transport Stream (MPEG-TS) encoding!

exclude_unwind_tables = false #Default = false
#    //build/config/compiler/BUILD.gn:65
#    Omit unwind support in official builds to save space.
#    We can use breakpad for these builds.

fatal_linker_warnings = true #Default = true
#    //build/config/compiler/BUILD.gn:88
#    Enable fatal linker warnings. Building Chromium with certain versions
#    of binutils can cause linker warning.
#    See: https://bugs.chromium.org/p/chromium/issues/detail?id=457359

#XXX: 1. not an option when system-ffmpeg via PKGBUILD! so commenting out:
#XXX: 2. nvm. 1. because now is required, or else: "proprietary codecs and ffmpeg_branding set to Chromium are incompatible"
ffmpeg_branding = "ChromeOS" #Default = "Chromium"
#    //third_party/ffmpeg/ffmpeg_options.gni:33
#    Controls whether we build the Chromium or Google Chrome version of FFmpeg.
#    The Google Chrome version contains additional codecs. Typical values are
#    Chromium, Chrome, ChromiumOS, and ChromeOS.

fieldtrial_testing_like_official_build = false #Default = false
#    //build/config/features.gni:93
#    Set to true make a build that disables activation of field trial tests
#    specified in testing/variations/fieldtrial_testing_config_*.json.
#    Note: this setting is ignored if is_chrome_branded.

full_wpo_on_official = false #Default = false
#    //build/config/compiler/compiler.gni:57

gdb_index = false #Default = false
#    //build/config/compiler/BUILD.gn:69
#    If true, gold linker will save symbol table inside object files.
#    This speeds up gdb startup by 60%

gold_path = false #Default = false
#    //build/config/compiler/BUILD.gn:54
#    When we are going to use gold we need to find it.
#    This is initialized below, after use_gold might have been overridden.

#goma_dir = "/home/z/goma" #Default = "/home/z/goma"
#    //build/toolchain/goma.gni:20
#    Absolute directory containing the Goma source code.

#XXX: see https://www.chromium.org/developers/how-tos/api-keys
google_api_key = "" #Default = ""
#    //google_apis/BUILD.gn:45
#    Set these to bake the specified API keys and OAuth client
#    IDs/secrets into your build.
   
#    If you create a build without values baked in, you can instead
#    set environment variables to provide the keys at runtime (see
#    src/google_apis/google_api_keys.h for details).  Features that
#    require server-side APIs may fail to work if no keys are
#    provided.
   
#    Note that if you are building an official build or if
#    use_official_google_api_keys has been set to trie (explicitly or
#    implicitly), these values will be ignored and the official
#    keys will be used instead.

google_default_client_id = "" #Default = ""
#    //google_apis/BUILD.gn:48
#    See google_api_key.

google_default_client_secret = "" #Default = ""
#    //google_apis/BUILD.gn:51
#    See google_api_key.

#host_cpu = "x64" #Default = "x64"
#    (Internally set; try `gn help host_cpu`.)

#host_os = "linux" #Default = "linux"
#    (Internally set; try `gn help host_os`.)

host_toolchain = "" #Default = ""
#    //build/config/BUILDCONFIG.gn:143
#    This should not normally be set as a build argument.  It's here so that
#    every toolchain can pass through the "global" value via toolchain_args().

icu_use_data_file = true #Default = true
#    //third_party/icu/config.gni:15
#    Tells icu to load an external data file rather than rely on the icudata
#    being linked directly into the binary.
   
#    This flag is a bit confusing. As of this writing, icu.gyp set the value to
#    0 but common.gypi sets the value to 1 for most platforms (and the 1 takes
#    precedence).
   
#    TODO(GYP) We'll probably need to enhance this logic to set the value to
#    true or false in similar circumstances.

internal_gles2_conform_tests = false #Default = false
#    //gpu/gles2_conform_support/BUILD.gn:7
#    Set to true to compile with the OpenGL ES 2.0 conformance tests.

internal_khronos_glcts_tests = false #Default = false
#    //gpu/khronos_glcts_support/BUILD.gn:8

is_asan = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:7
#    Compile for Address Sanitizer to find memory bugs.

is_cast_desktop_build = false #Default = false
#    //build/config/chromecast_build.gni:26
#    True if Chromecast build is targeted for linux desktop. This type of build
#    is useful for testing and development, but currently supports only a subset
#    of Cast functionality. Though this defaults to true for x86 Linux devices,
#    this should be overriden manually for an embedded x86 build.
#    TODO(slan): Remove instances of this when x86 is a fully supported platform.

is_cfi = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:50
#    Compile with Control Flow Integrity to protect virtual calls and casts.
#    See http://clang.llvm.org/docs/ControlFlowIntegrity.html
   
#    TODO(pcc): Remove this flag if/when CFI is enabled in official builds.

is_chrome_branded = false #Default = false
#    //build/config/chrome_build.gni:9
#    Select the desired branding flavor. False means normal Chromium branding,
#    true means official Google Chrome branding (requires extra Google-internal
#    resources).

is_chromecast = false #Default = false
#    //build/config/chromecast_build.gni:11
#    Set this true for a Chromecast build. Chromecast builds are supported on
#    Linux and Android.

is_clang = true #Default = true
#    //build/config/BUILDCONFIG.gn:134
#    Set to true when compiling with the Clang compiler. Typically this is used
#    to configure warnings.

#TODO: true  (shared libs?) also see: https://chromium.googlesource.com/chromium/src/+/master/docs/linux_faster_builds.md which recommends true
#XXX: "The component build links many parts of Chrome into separate shared libraries to avoid the long link step at the end. Most developers use this mode for everyday builds and debugging. Startup will be slower and some linker optimizations won't work, so don't do benchmarks in this mode."
is_component_build = false #Default = false
#    //build/config/BUILDCONFIG.gn:117
#    Component build. Setting to true compiles targets declared as "components"
#    as shared libraries loaded dynamically. This speeds up development time.
#    When false, components will be linked statically.

#XXX: no good reason to enable this! when enabled creates libffmpeg.so which you cannot use from system's ffmpeg!
#XXX: not an option when system-ffmpeg via PKGBUILD! so commenting out:
#XXX nvm, looks like it doesn't complain anymore.
is_component_ffmpeg = false #Default = false
#    //third_party/ffmpeg/ffmpeg_options.gni:40
#    Set true to build ffmpeg as a shared library. NOTE: this means we should
#    always consult is_component_ffmpeg instead of is_component_build for
#    ffmpeg targets. This helps linux chromium packagers that swap out our
#    ffmpeg.so with their own. See discussion here
#    https://groups.google.com/a/chromium.org/forum/#!msg/chromium-packagers/R5rcZXWxBEQ/B6k0zzmJbvcJ

#TODO: true  (and/OR also set dcheck to true?)
#XXX: don't set to true because ccache will not be in effect: unsupported compiler option          162
is_debug = false #Default = true
#    //build/config/BUILDCONFIG.gn:127
#    Debug build. Enabling official builds automatically sets is_debug to false.

is_desktop_linux = true #Default = true
#    //build/config/BUILDCONFIG.gn:130
#    Whether we're a traditional desktop unix.

is_lsan = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:10
#    Compile for Leak Sanitizer to find leaks.

#TODO: true if debug is on maybe?
is_msan = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:13
#    Compile for Memory Sanitizer to find uninitialized reads.

is_multi_dll_chrome = false #Default = false
#    //build/config/chrome_build.gni:13
#    Break chrome.dll into multple pieces based on process type. Only available
#    on Windows.

is_nacl_glibc = false #Default = false
#    //build/config/nacl/config.gni:11
#    Native Client supports both Newlib and Glibc C libraries where Newlib
#    is assumed to be the default one; use this to determine whether Glibc
#    is being used instead.

is_official_build = false #Default = false
#    //build/config/BUILDCONFIG.gn:124
#    Set to enable the official build level of optimization. This has nothing
#    to do with branding, but enables an additional level of optimization above
#    release (!is_debug). This might be better expressed as a tri-state
#    (debug, release, official) but for historical reasons there are two
#    separate flags.

is_syzyasan = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:44
#    Enable building with SyzyAsan which can find certain types of memory
#    errors. Only works on Windows. See
#    https://github.com/google/syzygy/wiki/SyzyASanHowTo

#TODO: true
is_tsan = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:16
#    Compile for Thread Sanitizer to find threading bugs.

is_ubsan = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:20
#    Compile for Undefined Behaviour Sanitizer to find various types of
#    undefined behaviour (excludes vptr checks).

is_ubsan_no_recover = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:23
#    Halt the program if a problem is detected.

is_ubsan_null = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:26
#    Compile for Undefined Behaviour Sanitizer's null pointer checks.

is_ubsan_security = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:70
#    Enables core ubsan security features. Will later be removed once it matches
#    is_ubsan.

is_ubsan_vptr = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:29
#    Compile for Undefined Behaviour Sanitizer's vptr checks.

is_win_fastlink = false #Default = false
#    //build/config/compiler/compiler.gni:39
#    Tell VS to create a PDB that references information in .obj files rather
#    than copying it all. This should improve linker performance. mspdbcmf.exe
#    can be used to convert a fastlink pdb to a normal one.

#TODO: set to false if that youtube video freezing still happens even after that latest commit: https://bugs.chromium.org/p/chromium/issues/detail?id=422522#c353  although this settings seems unlikely to affect that issue!
link_pulseaudio = true #Default = false
#    //media/media_options.gni:13
#    Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
#    using dlopen. This helps with automated detection of ABI mismatches and
#    prevents silent errors.

#already: false  - XXX: changing this will ccache miss everything apparently; takes 62mins when changed
linux_use_bundled_binutils = false #Default = false
#    //build/config/compiler/BUILD.gn:41

llvm_force_head_revision = false #Default = false
#    //build/config/compiler/BUILD.gn:83
#    If this is set to true, or if LLVM_FORCE_HEAD_REVISION is set to 1
#    in the environment, we use the revision in the llvm repo to determine
#    the CLANG_REVISION to use, instead of the version hard-coded into
#    //tools/clang/scripts/update.py. This should only be used in
#    conjunction with setting LLVM_FORCE_HEAD_REVISION in the
#    environment when `gclient runhooks` is run as well.

mac_views_browser = false #Default = false
#    //build/config/ui.gni:38
#    Whether the entire browser uses toolkit-views on Mac instead of Cocoa.

media_use_ffmpeg = true #Default = true
#    //media/media_options.gni:18
#    Enable usage of FFmpeg within the media library. Used for most software
#    based decoding, demuxing, and sometimes optimized FFTs. If disabled,
#    implementors must provide their own demuxers and decoders.

media_use_libvpx = true #Default = true
#    //media/media_options.gni:22
#    Enable usage of libvpx within the media library. Used for software based
#    decoding of VP9 and VP8A type content.

metrics_use_blimp = false #Default = false
#    //components/metrics/BUILD.gn:7
#    Overrides os name in uma metrics log to "Blimp".

#XXX: Build argument has no effect.
#mojo_application_subdir = "Mojo Applications" #Default = "Mojo Applications"
#    //mojo/public/mojo_constants.gni:7
#    Mojo application directories are created within this subdirectory.

mojo_media_host = "none" #Default = "none"
#    //media/media_options.gni:102
#    The process to host the mojo media application.
#    Valid options are:
#    - "none": Do not use mojo media application.
#    - "browser": Use mojo media application hosted in the browser process.
#    - "gpu": Use mojo media application hosted in the gpu process.
#    - "utility": Use mojo media application hosted in the utility process.

mojo_media_services = [] #Default = []
#    //media/media_options.gni:94
#    A list of mojo media services that should be used in the media pipeline.
#    Must not be empty if |enable_mojo_media| is true.
#    Valid entries in the list are:
#    - "renderer": Use mojo-based media Renderer service.
#    - "cdm": Use mojo-based Content Decryption Module.
#    - "audio_decoder": Use mojo-based audio decoder in the default media
#                       Renderer. Cannot be used with the mojo Renderer above.
#    - "video_decoder": Use mojo-based video decoder in the default media
#                       Renderer. Cannot be used with the mojo Renderer above.

msan_track_origins = 2 #Default = 2
#    //build/config/sanitizers/sanitizers.gni:34
#    Track where uninitialized memory originates from. From fastest to slowest:
#    0 - no tracking, 1 - track only the initial allocation site, 2 - track the
#    chain of stores leading from allocation site to use site.

#XXX: no effect because:
#ERROR at build arg file (use "gn args <out_dir>" to edit):697:22: Build argument has no effect.
#nacl_sdk_untrusted = false #Default = false
#                     ^----
#The variable "nacl_sdk_untrusted" was set as a build argument
#but never appeared in a declare_args() block in any buildfile.
#nacl_sdk_untrusted = false #Default = false
#    //native_client_sdk/src/BUILD.gn:14
#    Build the nacl SDK untrusted components.  This is disabled by default since
#    not all NaCl untrusted compilers are in goma (e.g arm-nacl-glibc)

openmax_big_float_fft = true #Default = true
#    //third_party/openmax_dl/dl/BUILD.gn:10
#    Override this value to build with small float FFT tables

optimize_for_size = false #Default = false
#    //build/config/compiler/BUILD.gn:75
#    If true, optimize for size. Does not affect windows builds.
#    Linux & Mac favor speed over size.
#    TODO(brettw) it's weird that Mac and desktop Linux are different. We should
#    explore favoring size over speed in this case as well.

override_build_date = "N/A" #Default = "N/A"
#    //base/BUILD.gn:34
#    Override this value to give a specific build date.
#    See //base/build_time.cc and //build/write_build_date_header.py for more
#    details and the expected format.

ozone_auto_platforms = false #Default = false
#    //ui/ozone/ozone.gni:10
#    Select platforms automatically. Turn this off for manual control.

ozone_platform = "" #Default = ""
#    //ui/ozone/ozone.gni:22
#    The platform that will be active by default.

ozone_platform_caca = false #Default = false
#    //ui/ozone/ozone.gni:25
#    Enable individual platforms.

ozone_platform_cast = false #Default = false
#    //ui/ozone/ozone.gni:26

#XXX: build argument has no effect
#ozone_platform_egltest = false #Default = false
#    //ui/ozone/ozone.gni:27

ozone_platform_gbm = false #Default = false
#    //ui/ozone/ozone.gni:28

ozone_platform_headless = false #Default = false
#    //ui/ozone/ozone.gni:30

#XXX: build arg has no effect
#ozone_platform_ozonex = false #Default = false
#    //ui/ozone/ozone.gni:29

ozone_platform_wayland = false #Default = false
#    //ui/ozone/ozone.gni:32

ozone_platform_x11 = false #Default = false
#    //ui/ozone/ozone.gni:31

pdf_enable_v8 = false #Default = true
#    //third_party/pdfium/pdfium.gni:15
#    Build PDFium either with or without v8 support.

pdf_enable_xfa = false #Default = false
#    //third_party/pdfium/pdfium.gni:18
#    Build PDFium either with or without XFA Forms support.

pdf_is_standalone = false #Default = false
#    //third_party/pdfium/pdfium.gni:24
#    Build PDFium standalone

pdf_use_skia = false #Default = false
#    //third_party/pdfium/pdfium.gni:21
#    Build PDFium against skia (experimental) rather than agg.

pdfium_bundle_freetype = false #Default = false
#    //third_party/pdfium/pdfium.gni:12
#    On Android there's no system FreeType. On Windows and Mac, only a few
#    methods are used from it.

pkg_config = "" #Default = ""
#    //build/config/linux/pkg_config.gni:33
#    A pkg-config wrapper to call instead of trying to find and call the right
#    pkg-config directly. Wrappers like this are common in cross-compilation
#    environments.
#    Leaving it blank defaults to searching PATH for 'pkg-config' and relying on
#    the sysroot mechanism to find the right .pc files.

#TODO: true and (check https://www.youtube.com/html5  if that changes the 2nd row and if can watch live streams)
#for the pacman -S chromium  on Manjaro, all 6 checks are set - after this chromium git install they are still all 6 set! BUT my youtube uploads won't play! while they previously did!
proprietary_codecs = true #Default = false
#    //build/config/features.gni:51
#    Enables proprietary codecs and demuxers; e.g. H264, AAC, MP3, and MP4.
#    We always build Google Chrome and Chromecast with proprietary codecs.

#XXX: has no effect, anymore
#remoting_enable_cardboard = false #Default = false
#    //remoting/remoting_options.gni:16
#    Set this to enable Android Chromoting Cardboard Activity.

#see ://chromium.googlesource.com/chromium/src/+/master/docs/linux_faster_builds.md
remove_webcore_debug_symbols = true #Default = false
#    //third_party/WebKit/Source/config.gni:18
#    If true, doesn't compile debug symbols into webcore reducing the
#    size of the binary and increasing the speed of gdb.

#XXX: no effect
#repack_whitelist = "" #Default = ""
#    //tools/grit/repack.gni:8
#    Absolute path to a resource whitelist (generated using
#    //tools/resources/find_used_resources.py).

root_extra_deps = [] #Default = []
#    //BUILD.gn:29
#    A list of extra dependencies to add to the root target. This allows a
#    checkout to add additional targets without explicitly changing any checked-
#    in files.

rtc_build_expat = true #Default = true
#    //third_party/webrtc/build/webrtc.gni:40
#    Disable these to not build components which can be externally provided.

rtc_build_json = true #Default = true
#    //third_party/webrtc/build/webrtc.gni:41

rtc_build_libevent = true #Default = true
#    //third_party/webrtc/build/webrtc.gni:74

rtc_build_libjpeg = true #Default = true
#    //third_party/webrtc/build/webrtc.gni:42

rtc_build_libsrtp = true #Default = true
#    //third_party/webrtc/build/webrtc.gni:43

rtc_build_libvpx = false #Default = true
#    //third_party/webrtc/build/webrtc.gni:44

rtc_build_libyuv = true #Default = true
#    //third_party/webrtc/build/webrtc.gni:46

rtc_build_openmax_dl = true #Default = true
#    //third_party/webrtc/build/webrtc.gni:47

rtc_build_opus = false #Default = true
#    //third_party/webrtc/build/webrtc.gni:48

rtc_build_ssl = true #Default = true
#    //third_party/webrtc/build/webrtc.gni:49

rtc_build_usrsctp = true #Default = true
#    //third_party/webrtc/build/webrtc.gni:50

rtc_build_with_neon = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:90

rtc_desktop_capture_supported = false #Default = true
#    //third_party/webrtc/modules/BUILD.gn:15
#    Desktop capturer is supported only on Windows, OSX and Linux.

rtc_enable_android_opensl = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:58

rtc_enable_bwe_test_logging = false #Default = false
#    //third_party/webrtc/modules/remote_bitrate_estimator/BUILD.gn:14
#    Set this to true to enable BWE test logging.

rtc_enable_data_logging = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:34
#    Enable data logging. Produces text files with data logged within engines
#    which can be easily parsed for offline processing.

rtc_enable_libevent = true #Default = true
#    //third_party/webrtc/build/webrtc.gni:73

rtc_enable_protobuf = true #Default = true
#    //third_party/webrtc/build/webrtc.gni:37
#    Enables the use of protocol buffers for debug recordings.

rtc_have_dbus_glib = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:53
#    Disable by default.

rtc_include_ilbc = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:126
#    Include the iLBC audio codec?

rtc_include_opus = false #Default = true
#    //third_party/webrtc/build/webrtc.gni:16
#    Disable this to avoid building the Opus audio codec.

#XXX: build arg has no effect
#rtc_include_tests = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:65

rtc_initialize_ffmpeg = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:114
#    FFmpeg must be initialized for |H264DecoderImpl| to work. This can be done
#    by WebRTC during |H264DecoderImpl::InitDecode| or externally. FFmpeg must
#    only be initialized once. Projects that initialize FFmpeg externally, such
#    as Chromium, must turn this flag off so that WebRTC does not also
#    initialize.

rtc_jsoncpp_root = "//third_party/jsoncpp/source/include" #Default = "//third_party/jsoncpp/source/include"
#    //third_party/webrtc/build/webrtc.gni:23
#    Used to specify an external Jsoncpp include path when not compiling the
#    library that comes with WebRTC (i.e. rtc_build_json == 0).

rtc_libvpx_build_vp9 = false #Default = true
#    //third_party/webrtc/build/webrtc.gni:45

rtc_prefer_fixed_point = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:30
#    Selects fixed-point code where possible.

rtc_relative_path = true #Default = true
#    //third_party/webrtc/build/webrtc.gni:19
#    Disable to use absolute header paths for some libraries.

rtc_restrict_logging = true #Default = true
#    //third_party/webrtc/build/webrtc.gni:66

rtc_ssl_root = "" #Default = ""
#    //third_party/webrtc/build/webrtc.gni:27
#    Used to specify an external OpenSSL include path when not compiling the
#    library that comes with WebRTC (i.e. rtc_build_ssl == 0).

rtc_use_gtk = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:118
#    Build sources requiring GTK. NOTICE: This is not present in Chrome OS
#    build environments, even if available for Chromium builds.

rtc_use_h264 = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:104
#    Enable this to build OpenH264 encoder/FFmpeg decoder. This is supported on
#    all platforms except Android and iOS. Because FFmpeg can be built
#    with/without H.264 support, |ffmpeg_branding| has to separately be set to a
#    value that includes H.264, for example "Chrome". If FFmpeg is built without
#    H.264, compilation succeeds but |H264DecoderImpl| fails to initialize. See
#    also: |rtc_initialize_ffmpeg|.
#    CHECK THE OPENH264, FFMPEG AND H.264 LICENSES/PATENTS BEFORE BUILDING.
#    http://www.openh264.org, https://www.ffmpeg.org/

rtc_use_lto = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:63
#    Link-Time Optimizations.
#    Executes code generation at link-time instead of compile-time.
#    https://gcc.gnu.org/wiki/LinkTimeOptimization

rtc_use_objc_h264 = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:94
#    Enable this to use HW H.264 encoder/decoder on iOS PeerConnections.
#    Enabling this may break interop with Android clients that support H264.

rtc_use_openmax_dl = true #Default = true
#    //third_party/webrtc/build/webrtc.gni:83

rtc_use_quic = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:107
#    Determines whether QUIC code will be built.

safe_browsing_mode = 1 #Default = 1
#    //build/config/features.gni:87

sanitizer_coverage_flags = "" #Default = ""
#    //build/config/sanitizers/sanitizers.gni:86
#    Value for -fsanitize-coverage flag. Setting this causes
#    use_sanitizer_coverage to be enabled.
#    Default value when unset and use_afl=true:
#    trace-pc
#    Default value when unset and use_sanitizer_coverage=true:
#        edge,indirect-calls,8bit-counters

skia_build_no_opts = false #Default = false
#    //skia/BUILD.gn:28
#    TODO(crbug.com/607933): Once GYP is no longer supported, port iOS to use
#    optimised skia.

skia_whitelist_serialized_typefaces = false #Default = false
#    //skia/BUILD.gn:24

symbol_level = -1 #Default = -1
#    //build/config/compiler/compiler.gni:18
#    How many symbols to include in the build. This affects the performance of
#    the build since the symbols are large and dealing with them is slow.
#      2 means regular build with symbols.
#      1 means minimal symbols, usually enough for backtraces only.
#      0 means no symbols.
#      -1 means auto-set according to debug/release and platform.

system_libdir = "lib" #Default = "lib"
#    //build/config/linux/pkg_config.gni:44
#    CrOS systemroots place pkgconfig files at <systemroot>/usr/share/pkgconfig
#    and one of <systemroot>/usr/lib/pkgconfig or <systemroot>/usr/lib64/pkgconfig
#    depending on whether the systemroot is for a 32 or 64 bit architecture.
   
#    When build under GYP, CrOS board builds specify the 'system_libdir' variable
#    as part of the GYP_DEFINES provided by the CrOS emerge build or simple
#    chrome build scheme. This variable permits controlling this for GN builds
#    in similar fashion by setting the `system_libdir` variable in the build's
#    args.gn file to 'lib' or 'lib64' as appropriate for the target architecture.

syzygy_optimize = false #Default = false
#    //build/config/compiler/compiler.gni:64
#    Generate Syzygy optimized binaries. Syzygy optimize mode is a profile
#    guided optimization that reorders code for better locality.

#target_cpu = "" #Default = ""
#    (Internally set; try `gn help target_cpu`.)

#target_os = "" #Default = ""
#    (Internally set; try `gn help target_os`.)

target_sysroot = "" #Default = ""
#    //build/config/sysroot.gni:13
#    The absolute path of the sysroot that is applied when compiling using
#    the target toolchain.

target_sysroot_dir = "" #Default = ""
#    //build/config/sysroot.gni:16
#    The absolute path to directory containing sysroots for linux 32 and 64bit

#XXX: should be true because apparently it's used anyway
#../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/chrome/browser/about_flags.cc:1703:6: error: use of undeclared identifier 'IDS_FLAGS_AUTOFILL_CREDIT_CARD_UPLOAD_NAME'
#     IDS_FLAGS_AUTOFILL_CREDIT_CARD_UPLOAD_NAME,
#     ^
#../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/chrome/browser/about_flags.cc:1704:6: error: use of undeclared identifier 'IDS_FLAGS_AUTOFILL_CREDIT_CARD_UPLOAD_DESCRIPTION'
#     IDS_FLAGS_AUTOFILL_CREDIT_CARD_UPLOAD_DESCRIPTION, kOsAll,
#     ^
toolkit_views = true #Default = false
#    //build/config/ui.gni:35

#XXX: set to false because when true:
#../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/third_party/zlib/google/zip_reader.cc:284:36: error: implicit conversion of NULL constant to 'int' [-Werror,-Wnull-conversion]
#                                   NULL);
#                                   ^~~~
#                                   0
#1 error generated.
treat_warnings_as_errors = false #Default = true
#    //build/config/compiler/BUILD.gn:30
#    Default to warnings as errors for default workflow, where we catch
#    warnings with known toolchains. Allow overriding this e.g. for Chromium
#    builds on Linux that could use a different version of the compiler.
#    With GCC, warnings in no-Chromium code are always not treated as errors.

use_afl = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:66
#    Compile for fuzzing with AFL.

use_allocator = "tcmalloc" #Default = "tcmalloc"
#    //build/config/allocator.gni:24
#    Memory allocator to use. Set to "none" to use default allocator.

#TODO: false
use_alsa = false #Default = true
#    //media/media_options.gni:61

use_ash = false #Default = false
#    //build/config/ui.gni:22
#    Indicates if Ash is enabled. Ash is the Aura Shell which provides a
#    desktop-like environment for Aura. Requires use_aura = true

#XXX: must be true because:
#ERROR at //ash/BUILD.gn:10:1: Assertion failed.
#assert(use_aura)
#^-----
#See //ash/mus/BUILD.gn:89:5: which caused the file to be included.
#    "//ash",
#    ^------
#==> ERROR: A failure occurred in prepare().
#    Aborting...
use_aura = true #Default = false
#    //build/config/ui.gni:31
#    Indicates if Aura is enabled. Aura is a low-level windowing library, sort
#    of a replacement for GDI or GTK.

use_base_test_suite = true #Default = true
#    //sandbox/linux/BUILD.gn:19
#    On Android, use plain GTest.

use_cfi_cast = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:55
#    Enable checks for bad casts: derived cast and unrelated cast.
#    TODO(krasin): remove this, when we're ready to add these checks by default.
#    https://crbug.com/626794

use_cfi_diag = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:59
#    By default, Control Flow Integrity will crash the program if it detects a
#    violation. Set this to true to print detailed diagnostics instead.

use_cras = false #Default = false
#    //media/media_options.gni:31
#    Override to dynamically link the cras (ChromeOS audio) library.

use_cups = false #Default = false
#    //build/config/features.gni:95

use_custom_libcxx = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:97

#XXX: set to true because:
#In file included from ../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/device/power_save_blocker/power_save_blocker_x11.cc:31:
#../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/dbus/bus.h:8:10: fatal error: 'dbus/dbus.h' file not found
##include <dbus/dbus.h>
#         ^
#1 error generated.
use_dbus = true #Default = false
#    //build/config/features.gni:104

use_debug_fission = "default" #Default = "default"
#    //build/config/compiler/compiler.gni:34
#    use_debug_fission: whether to use split DWARF debug info
#    files. This can reduce link time significantly, but is incompatible
#    with some utilities such as icecc and ccache. Requires gold and
#    gcc >= 4.8 or clang.
#    http://gcc.gnu.org/wiki/DebugFission
   
#    This is a placeholder value indicating that the code below should set
#    the default.  This is necessary to delay the evaluation of the default
#    value expression until after its input values such as use_gold have
#    been set, e.g. by a toolchain_args() block.

use_drfuzz = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:74
#    Compile for fuzzing with Dr. Fuzz
#    See http://www.chromium.org/developers/testing/dr-fuzz

use_evdev_gestures = false #Default = false
#    //ui/events/ozone/BUILD.gn:11
#    Support ChromeOS touchpad gestures with ozone.

use_experimental_allocator_shim = false #Default = false
#    //build/config/allocator.gni:29
#    TODO(primiano): this should just become the default without having a flag,
#    but we need to get there first. http://crbug.com/550886 .
#    Causes all the allocations to be routed via allocator_shim.cc.

use_external_popup_menu = false #Default = false
#    //build/config/features.gni:120
#    Whether or not to use external popup menu.

#XXX: must be true because:
#ERROR at //build/config/linux/gconf/BUILD.gn:9:1: Assertion failed.
#assert(!is_chromeos && use_gconf)
#^-----
#See //ui/accessibility/BUILD.gn:107:7: which caused the file to be included.
#      "//build/config/linux/gconf",
#      ^---------------------------
#==> ERROR: A failure occurred in prepare().
#    Aborting...
use_gconf = true #Default = false
#    //build/config/features.gni:108
#    Option controlling the use of GConf (the classic GNOME configuration
#    system).

#XXX: must be true because:
#ERROR Unresolved dependencies.
#//content/browser:browser(//build/toolchain/linux:clang_x64)
#  needs //build/config/linux:glib(//build/toolchain/linux:clang_x64)
#//third_party/harfbuzz-ng:harfbuzz-ng(//build/toolchain/linux:clang_x64)
#  needs //build/config/linux:glib(//build/toolchain/linux:clang_x64)
#//build/linux/libgio:libgio(//build/toolchain/linux:clang_x64)
#  needs //build/linux:gio_config(//build/toolchain/linux:clang_x64)
#//ui/events:events(//build/toolchain/linux:clang_x64)
#  needs //build/config/linux:glib(//build/toolchain/linux:clang_x64)
#//ui/accessibility:accessibility(//build/toolchain/linux:clang_x64)
#  needs //build/config/linux:glib(//build/toolchain/linux:clang_x64)
use_gio = true #Default = false
#    //build/config/features.gni:110

#XXX: must be true because, see above!
use_glib = true #Default = false
#    //build/config/ui.gni:47
#    Whether we should use glib, a low level C utility library.

use_gold = false #Default = false
#    //build/config/compiler/compiler.gni:70
#    Whether to use the gold linker from binutils instead of lld or bfd.

use_goma = false #Default = false
#    //build/toolchain/goma.gni:12
#    Set to true to enable distributed compilation using Goma.

use_gtk3 = false #Default = false
#    //build/config/ui.gni:41
#    Whether we should use GTKv3 instead of GTKv2.

use_kerberos = true #Default = true
#    //net/BUILD.gn:54
#    Enable Kerberos authentication. It is disabled by default on ChromeOS, iOS,
#    Chromecast, at least for now. This feature needs configuration (krb5.conf
#    and so on).

use_libfuzzer = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:63
#    Compile for fuzzing with LLVM LibFuzzer.
#    See http://www.chromium.org/developers/testing/libfuzzer

use_libjpeg_turbo = true #Default = true
#    //third_party/BUILD.gn:15
#    Uses libjpeg_turbo as the jpeg implementation. Has no effect if
#    use_system_libjpeg is set.

#TODO: set to true(default) if something GPU related doesn't work
use_libpci = true #Default = true
#    //gpu/config/BUILD.gn:11
#    Use the PCI lib to collect GPU information on Linux.

use_lld = false #Default = false
#    //build/toolchain/toolchain.gni:23
#    Set to true to use lld, the LLVM linker. This flag may be used on Windows
#    with the shipped LLVM toolchain, or on Linux with a self-built top-of-tree
#    LLVM toolchain (see llvm_force_head_revision in
#    build/config/compiler/BUILD.gn).

use_low_memory_buffer = false #Default = false
#    //media/media_options.gni:34
#    Use low-memory buffers on non-Android builds of Chromecast.

use_low_quality_image_interpolation = false #Default = false
#    //third_party/WebKit/Source/config.gni:25
#    If true, defaults image interpolation to low quality.

use_official_google_api_keys = false #Default = ""
#    //google_apis/BUILD.gn:30
#    You can set the variable 'use_official_google_api_keys' to true
#    to use the Google-internal file containing official API keys
#    for Google Chrome even in a developer build.  Setting this
#    variable explicitly to true will cause your build to fail if the
#    internal file is missing.
   
#    The variable is documented here, but not handled in this file;
#    see //google_apis/determine_use_official_keys.gypi for the
#    implementation.
   
#    Set the variable to false to not use the internal file, even when
#    it exists in your checkout.
   
#XXX:    Leave it unset or set to "" to have the variable
#    implicitly set to true if you have
#    src/google_apis/internal/google_chrome_api_keys.h in your
#    checkout, and implicitly set to false if not.
   
#    Note that official builds always behave as if the variable
#    was explicitly set to true, i.e. they always use official keys,
#    and will fail to build if the internal file is missing.

use_openh264 = false #Default = false
#    //third_party/openh264/openh264_args.gni:11
#    Enable this to build OpenH264 (for encoding, not decoding).
#    CHECK THE OPENH264 LICENSE/PATENT BEFORE BUILDING, see
#    http://www.openh264.org/.

use_ozone = false #Default = false
#    //build/config/ui.gni:27
#    Indicates if Ozone is enabled. Ozone is a low-level library layer for Linux
#    that does not require X11. Enabling this feature disables use of glib, x11,
#    Pango, and Cairo. Default to false on non-Chromecast builds.

use_platform_icu_alternatives = false #Default = false
#    //url/features.gni:10
#    Enables the use of ICU alternatives in lieu of ICU. The flag is used
#    for Cronet to reduce the size of the Cronet binary.

use_prebuilt_instrumented_libraries = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:39
#    Use dynamic libraries instrumented by one of the sanitizers instead of the
#    standard system libraries. Set this flag to download prebuilt binaries from
#    GCS.

use_pulseaudio = true #Default = true
#    //media/media_options.gni:65

use_sanitizer_coverage = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:102

use_srtp_boringssl = true #Default = true
#    //third_party/libsrtp/BUILD.gn:6

#XXX: setting this to true here has no effect on my libtinfo.so.5 error from the embedded clang++
use_sysroot = false #Default = false  actually it's true but patch made it false!
#    //build/config/sysroot.gni:18

use_system_harfbuzz = false #Default = false
#    //third_party/harfbuzz-ng/BUILD.gn:16
#    Blink uses a cutting-edge version of Harfbuzz; most Linux distros do not
#    contain a new enough version of the code to work correctly. However,
#    ChromeOS chroots (i.e, real ChromeOS builds for devices) do contain a
#    new enough version of the library, and so this variable exists so that
#    ChromeOS can build against the system lib and keep binary sizes smaller.

use_system_libjpeg = false #Default = false
#    //third_party/BUILD.gn:11
#    Uses system libjpeg. If true, overrides use_libjpeg_turbo.

use_system_sqlite = false #Default = false
#    //third_party/sqlite/BUILD.gn:9
#    Controls whether the build should uses the version of sqlite3 library
#    shipped with the system (currently only supported on iOS) or the one
#    shipped with Chromium source.

#nevermind(patched away!)//XXX: must be true because:
#In file included from ../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/device/serial/serial_device_enumerator_linux.cc:5:
#In file included from ../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/device/serial/serial_device_enumerator_linux.h:10:
#In file included from ../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/device/udev_linux/scoped_udev.h:10:
#../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/device/udev_linux/udev.h:15:2: error: "USE_UDEV not defined"
##error "USE_UDEV not defined"
# ^
#In file included from ../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/device/serial/serial_device_enumerator_linux.cc:5:
#In file included from ../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/device/serial/serial_device_enumerator_linux.h:10:
#../../../home/z/build/1packages/chromium-dev-git/fetch_gclient_base/checkout_root/src/device/udev_linux/scoped_udev.h:13:2: error: "USE_UDEV not defined"
##error "USE_UDEV not defined"
# ^
#2 errors generated.
#use_udev = true #Default = false
use_udev = false #Default = false
#    //build/config/features.gni:102
#    libudev usage. This currently only affects the content layer.

use_unofficial_version_number = true #Default = true
#    //components/version_info/BUILD.gn:9

use_v4l2_codec = false #Default = false
#    //media/gpu/args.gni:11
#    Indicates if Video4Linux2 codec is used. This is used for all CrOS
#    platforms which have v4l2 hardware encoder / decoder.

use_v4lplugin = false #Default = false
#    //media/gpu/args.gni:7
#    Indicates if V4L plugin is used.

use_vgem_map = false #Default = false
#    //ui/ozone/ozone.gni:17
#    This enables memory-mapped access to accelerated graphics buffers via the
#    VGEM ("virtual GEM") driver. This is currently only available on Chrome OS
#    kernels and affects code in the GBM ozone platform.
#    TODO(dshwang): remove this flag when all gbm hardware supports vgem map.
#    crbug.com/519587

use_vulcanize = true #Default = true
#    //chrome/common/features.gni:21
#    Use vulcanized HTML/CSS/JS resources to speed up WebUI (chrome://)
#    pages. https://github.com/polymer/vulcanize

use_xcode_clang = false #Default = false
#    //build/toolchain/toolchain.gni:33
#    Compile with Xcode version of clang instead of hermetic version shipped
#    with the build. Used on iOS to ship official builds (as they are built
#    with the version of clang shipped with Xcode).

use_xkbcommon = false #Default = false
#    //build/config/ui.gni:44
#    Optional system libraries.

v8_can_use_fpu_instructions = true #Default = true
#    //v8/BUILD.gn:66
#    Similar to vfp but on MIPS.

v8_current_cpu = "x64" #Default = "x64"
#    //build/config/v8_target_cpu.gni:56
#    This argument is declared here so that it can be overridden in toolchains.
#    It should never be explicitly set by the user.

v8_deprecation_warnings = false #Default = false
#    //v8/BUILD.gn:26
#    Enable compiler warnings when using V8_DEPRECATED apis.

v8_embed_script = "" #Default = ""
#    //v8/BUILD.gn:32
#    Embeds the given script into the snapshot.

v8_enable_backtrace = false #Default = false
#    //v8/BUILD.gn:35
#    Support for backtrace_symbols on linux.

v8_enable_disassembler = false #Default = false
#    //v8/BUILD.gn:38
#    Sets -dENABLE_DISASSEMBLER.

v8_enable_gdbjit = "" #Default = ""
#    //v8/BUILD.gn:41
#    Sets -dENABLE_GDB_JIT_INTERFACE.

v8_enable_handle_zapping = true #Default = true
#    //v8/BUILD.gn:44
#    Sets -dENABLE_HANDLE_ZAPPING.

v8_enable_i18n_support = true #Default = true
#    //v8/BUILD.gn:48
#    Enable ECMAScript Internationalization API. Enabling this feature will
#    add a dependency on the ICU library.

v8_enable_slow_dchecks = false #Default = false
#    //v8/BUILD.gn:51
#    Enable slow dchecks.

v8_enable_verify_heap = false #Default = false
#    //v8/BUILD.gn:23
#    Sets -DVERIFY_HEAP.

v8_gcmole = false #Default = false
#    //v8/gni/v8.gni:14
#    Indicate if gcmole was fetched as a hook to make it available on swarming.

v8_has_valgrind = false #Default = false
#    //v8/gni/v8.gni:11
#    Indicate if valgrind was fetched as a custom deps to make it available on
#    swarming.

v8_imminent_deprecation_warnings = "" #Default = ""
#    //v8/BUILD.gn:29
#    Enable compiler warnings when using V8_DEPRECATE_SOON apis.

v8_interpreted_regexp = false #Default = false
#    //v8/BUILD.gn:55
#    Interpreted regexp engine exists as platform-independent alternative
#    based where the regular expression is compiled to a bytecode.

v8_object_print = false #Default = false
#    //v8/BUILD.gn:58
#    Sets -dOBJECT_PRINT.

v8_optimized_debug = true #Default = true
#    //v8/gni/v8.gni:17
#    Turns on compiler optimizations in V8 in Debug build.

v8_postmortem_support = false #Default = false
#    //v8/BUILD.gn:63
#    With post mortem support enabled, metadata is embedded into libv8 that
#    describes various parameters of the VM for use by debuggers. See
#    tools/gen-postmortem-metadata.py for details.

v8_snapshot_toolchain = "" #Default = ""
#    //v8/snapshot_toolchain.gni:33
#    The snapshot needs to be compiled for the host, but compiled with
#    a toolchain that matches the bit-width of the target.

v8_target_cpu = "" #Default = ""
#    //build/config/v8_target_cpu.gni:33
#    This arg is used when we want to tell the JIT-generating v8 code
#    that we want to have it generate for an architecture that is different
#    than the architecture that v8 will actually run on; we then run the
#    code under an emulator. For example, we might run v8 on x86, but
#    generate arm code and run that under emulation.
   
#    This arg is defined here rather than in the v8 project because we want
#    some of the common architecture-specific args (like arm_float_abi or
#    mips_arch_variant) to be set to their defaults either if the current_cpu
#    applies *or* if the v8_current_cpu applies.
   
#    As described below, you can also specify the v8_target_cpu to use
#    indirectly by specifying a `custom_toolchain` that contains v8_$cpu in the
#    name after the normal toolchain.
   
#    For example, `gn gen --args="custom_toolchain=...:clang_x64_v8_arm64"`
#    is equivalent to setting --args=`v8_target_cpu="arm64"`. Setting
#    `custom_toolchain` is more verbose but makes the toolchain that is
#    (effectively) being used explicit.
   
#    v8_target_cpu can only be used to target one architecture in a build,
#    so if you wish to build multiple copies of v8 that are targetting
#    different architectures, you will need to do something more
#    complicated involving multiple toolchains along the lines of
#    custom_toolchain, above.

#XXX manually added, doesn't seem to be defined!
enable_themes = false

v8_test_isolation_mode = "noop" #Default = "noop"
#    //v8/gni/isolate.gni:11
#    Sets the test isolation mode (noop|prepare|check).

v8_use_external_startup_data = "" #Default = ""
#    //v8/gni/v8.gni:25
#    Use external files for startup data blobs:
#    the JS builtins sources and the start snapshot.

v8_use_mips_abi_hardfloat = true #Default = true
#    //v8/BUILD.gn:69
#    Similar to the ARM hard float ABI but on MIPS.

v8_use_snapshot = true #Default = true
#    //v8/gni/v8.gni:21
#    Enable the snapshot feature, for fast context creation.
#    http://v8project.blogspot.com/2015/09/custom-startup-snapshots.html

win_console_app = false #Default = false
#    //build/config/win/console_app.gni:12
#    If true, builds as a console app (rather than a windowed app), which allows
#    logging to be printed to the user. This will cause a terminal window to pop
#    up when the executable is not run from the command line, so should only be
#    used for development. Only has an effect on Windows builds.


apm_debug_dump = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:46
#    Selects whether debug dumps for the audio processing module
#    should be generated.

enable_blimp_client = false #Default = false
#    //blimp/client/core/config.gni:9
#    Enables the blimp client. This is required to get the actual implementation
#    of blimp.
#    By default, only a dummy-implementation is provided.

enable_nacl_nonsfi = false #Default = true
#    //build/config/features.gni:38
#    Non-SFI is not yet supported on mipsel

enable_swiftshader = false #Default = false
#    //ui/gl/BUILD.gn:13

enable_vr_shell = false #Default = false
#    //chrome/common/features.gni:40
#    Enables vr shell.

enable_vr_shell_ui_dev = false #Default = false
#    //chrome/common/features.gni:43
#    Enables vr shell UI development on local or remote page.

enable_webvr = false #Default = false
#    //build/config/features.gni:124
#    Enable WebVR support by default on Android
#    Still requires command line flag to access API

enable_xpc_notifications = false #Default = false
#    //chrome/common/features.gni:46
#    Enable native notifications via XPC services (mac only).

#goma_dir = "/home/z/goma" #Default = "/home/z/goma"
#    //build/toolchain/goma.gni:17
#    Absolute directory containing the Goma source code.

is_cast_audio_only = false #Default = false
#    //build/config/chromecast_build.gni:14
#    Set this true for an audio-only Chromecast build.


#packages_directory = "Packages" #Default = "Packages"
#    //services/shell/public/constants.gni:7
#    Service package directories are created within this subdirectory.

pdf_use_win32_gdi = false #Default = true
#    //third_party/pdfium/pdfium.gni:24
#    Build PDFium with or without experimental win32 GDI APIs.

pgo_build = false #Default = false
#    //chrome/common/features.gni:53
#    Indicates if the build is using PGO.

rtc_enable_intelligibility_enhancer = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:42
#    Disable the code for the intelligibility enhancer by default.

rtc_include_internal_audio_device = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:155
#    Chromium uses its own IO handling, so the internal ADM is only built for
#    standalone WebRTC.

rtc_include_pulse_audio = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:151
#    Excluded in Chromium since its prerequisites don't require Pulse Audio.

rtc_include_tests = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:158
#    Include tests in standalone checkout.

rtc_sanitize_coverage = "" #Default = ""
#    //third_party/webrtc/build/webrtc.gni:82
#    Set to "func", "block", "edge" for coverage generation.
#    At unit test runtime set UBSAN_OPTIONS="coverage=1".
#    It is recommend to set include_examples=0.
#    Use llvm's sancov -html-report for human readable reports.
#    See http://clang.llvm.org/docs/SanitizerCoverage.html .

rtc_use_dummy_audio_file_devices = false #Default = false
#    //third_party/webrtc/build/webrtc.gni:127
#    By default, use normal platform audio support or dummy audio, but don't
#    use file-based audio playout and record.

use_gnome_keyring = false #Default = true
#    //components/os_crypt/features.gni:10
#    Whether to use libgnome-keyring (deprecated by libsecret).
#    See http://crbug.com/466975 and http://crbug.com/355223.

use_locally_built_instrumented_libraries = false #Default = false
#    //build/config/sanitizers/sanitizers.gni:45
#    Use dynamic libraries instrumented by one of the sanitizers instead of the
#    standard system libraries. Set this flag to build the libraries from source.

v8_android_log_stdout = false #Default = false
#    //v8/BUILD.gn:23
#    Print to stdout on Android.

v8_no_inline = false #Default = false
#    //v8/BUILD.gn:66
#    Switches off inlining in V8.

